import axios from 'axios'
import qs from 'qs'
// import store from '@/store'
// import axiosConfig from './axios.config';
// import { baseApi } from '../config';
// const { tokenType } = axiosConfig
// let url 

const http = axios.create({
    // baseURL: process.env.VUE_APP_BASE_API,
    timeout: 5000
})

/* 请求拦截器 */
http.interceptors.request.use(
    config => {
        // 凭证相关
        // const isNotToken = (config.headers || {}).isToken === false; // 当前请求是否不需要验证凭证
        // const isConfigAuth = (config.headers || {}).Authorization; // 当前请求是否已配置了请求凭证
        // if (!isNotToken && !isConfigAuth) {
        //     const token = store.getters.access_token; // token从store中获取
        //     config.headers['Authorization'] = tokenType + ' ' + token;
        // }
        // get请求时params参数开启序列化
        if (config.method === 'get') {
            config.paramsSerializer = function (params) {
                return qs.stringify(params)
            }
        }
        // 检查请求主体是否需要序列化，只有post请求和headers中配置serialize为true时开启
        if (config.method === 'post' && config.headers.serialize) {
            config.data = serialize(config.data);
            delete config.headers.serialize;
        }



        return config
    },
    error => {

        return Promise.reject(error)
    }
)

/* 响应拦截器 */
http.interceptors.response.use(
    res => {
        // 对响应数据做点什么
        return res.data
    },
    error => {
        // 对响应错误做点什么
        return Promise.reject(error)
    }
)

export default http;